Microcontrollers function to replace mechanical and electromechanical components in a variety of applications and devices. Microcontrollers have evolved since they were first introduced approximately 30 years ago, to the point where they can be used for increasingly complex applications. Some microcontrollers in use today are also programmable, expanding the number of applications in which they can be used.
However, even though there are a large number of different types of microcontrollers available on the market with a seemingly wide range of applicability, it is still often difficult for a designer to find a microcontroller that is particularly suited for a particular application. Unique aspects of the intended application may make it difficult to find an optimum microcontroller, perhaps necessitating a compromise between the convenience of using an existing microcontroller design and less than optimum performance.
In those cases in which a suitable microcontroller is found, subsequent changes to the application and new requirements placed on the application will likely effect the choice of microcontroller. The designer thus again faces the challenge of finding a suitable microcontroller for the intended application.
One solution to the problems described above is to design (or have designed) a microcontroller customized for the intended application. However, this solution may still not be practical because of the time needed to develop a custom microcontroller and the cost of doing so. In addition, should the design of the intended application be changed, it may also be necessary to change the design of the custom microcontroller, further increasing costs and lead times. Moreover, the option of designing a custom microcontroller is generally only available to very large volume customers.
Application specific integrated circuits (ASICs) may suggest a solution to he problem of finding a suitable microcontroller for an application. However, ASICs can also be problematic because they require a sophisticated level of design expertise, and the obstacles of long development times, high costs, and large volume requirements still remain. Solutions such as gate arrays and programmable logic devices provide flexibility, but they too are expensive and require a sophisticated level of design expertise.
Accordingly, what is needed is a system and/or method that can allow microcontrollers to be developed for a variety of possible applications without incurring the development expenses and delays associated with contemporary microcontrollers. The present invention provides a novel solution to these needs.